#ifndef ZLISTSTATUSWIDGET_H
#define ZLISTSTATUSWIDGET_H

#include <QObject>
#include <QWidget>
#include <QVector>
#include <QPair>
#include <QLabel>
#include <QHBoxLayout>
#include <QVBoxLayout>
#include "ListItem/ItemData.h"
#include "QLight.h"
#include "MU_API.h"



/**
 * @brief The ZListStatusWidget class
 * @details
 * 创建一个容器，类似于Listiew的功能
 */

// 最小的基础单元
class BodyWidget: public QWidget{
    Q_OBJECT
public:
    BodyWidget(const QString &name);
    void setStatus(MU_INIT_TYPE selected);
private:
    void initUI();
    QLight *light ;
    QLabel *des ;
    QHBoxLayout *layout;
};

// typedef QPair<QString ,BodyWidget*>  BodyDelegate;


class ZListStatusWidget : public QWidget
{
    Q_OBJECT
public:
    explicit ZListStatusWidget(QWidget *parent = nullptr);



    void add(const QString &name);

signals:

private:
    void initUI();
    QList<BodyWidget*> list;
    QVBoxLayout *layout;
};

#endif // ZLISTSTATUSWIDGET_H
